#include "dictionary.h"
#include "iniparser.h"

#ifndef _PARAMS_H_
#define _PARAMS_H_

#define XE_SW   0.99   // threshold value of Xe:
                        // when Xe > XE_SW, we use Saha eq. to get Xe
                        // when Xe <= XE_SW, we switch to solve the ODE to obtain Xe.

typedef struct _cosmo_params{
    double h;           // reduced Hubble constant
    double Tcmb;        // CMB temperature@z=0
    double Omega_b;     // density parameter Baryonic matter
    double Omega_r;     // density parameter of radiation (here we consider only photons)
    double Omega_c;     // density parameter of CDM
    double Omega_L;     // density parameter of Lambda (Omega_L = 1 - (Omega_r+Omega_b+Omegac)
    double ns;          // spectral index
    double Yp;          // Helium mass fraction
} cosmo_params;

void ini_cosmo_params( cosmo_params *cp, dictionary *dict );
void print_cosmo_params( cosmo_params *cp );

#endif  // _PARAMS_H_
